package com.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

/**
 * @Description githubAPI获取对应用户的全部信息
 * @Author nomo
 * @Date 2024/10/24 15:37
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@TableName("developer")
public class Developer {

    //主键
    @TableId(type = IdType.AUTO)
    @TableField("id")
    private Long id;

    @TableField("level")
    private String level;

    @TableField("percentile")
    private double percentile;

    @TableField("username")
    private String userName;

    @TableField("commits")
    private int commits;

    @TableField("prs")
    private int prs;

    @TableField("issues")
    private int issues;

    @TableField("total_start")
    private int totalstart; // 获得点赞数

    @TableField("forks")
    private int forks;

    @TableField("start")
    private int start; // 点赞数

    // 个人信息
    @TableField("name")
    private String name;

    @TableField("company")
    private String company;

    @TableField("blog")
    private String blog;

    @TableField("location")
    private String location;

    @TableField("email")
    private String email;

    @TableField("hireable")
    private String hireable;

    @TableField("bio")
    private String bio;

    @TableField("twitter_username")
    private String twitterUsername;

    // 公开信息计数统计
    @TableField("public_repos")
    private int publicRepos;

    @TableField("public_gists")
    private int publicGists;

    @TableField("followers")
    private int followers;

    @TableField("following")
    private int following;

    // 私有信息计数统计
    @TableField("private_gists")
    private int privateGists;

    @TableField("total_private_repos")
    private int totalPrivateRepos;

    @TableField("owned_private_repos")
    private int ownedPrivateRepos;

    // 创建、更新时间
    @TableField("created_at")
    private String createdAt;

    @TableField("updated_at")
    private String updatedAt;

    // 头像url
    @TableField("avatar_url")
    private String avatarUrl;

    // api-url
    @TableField("url")
    private String url;

    // html-url
    @TableField("html_url")
    private String htmlUrl;

    // 粉丝列表
    @TableField("followers_url")
    private String followersUrl;

    // 关注列表
    @TableField("following_url")
    private String followingUrl;

    // 笔记列表
    @TableField("gists_url")
    private String gistsUrl;

    // 标星列表
    @TableField("starred_url")
    private String starredUrl;

    // 仓库列表
    @TableField("repos_url")
    private String reposUrl;

    // 公开活动列表 --反映活跃度
    @TableField("events_url")
    private String eventsUrl;

    // 和别人有关的活动列表 --受欢迎程度
    @TableField("received_events_url")
    private String receivedEventsUrl;

    // 是否为Github管理员
    @TableField("site_admin")
    private boolean siteAdmin;
}
